package com.power.sifa.correction.api;

import com.plf.common.domain.ResponseDTO;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
import com.power.sifa.correction.model.Crc_geopoint;
import com.power.sifa.correction.model.pageInfo.Crc_geopointPageInfo;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 *  地图范围坐标 Feign
 */
public interface ICrc_geopointFeign {

    /**
     * 地图范围坐标分页列表
     */
    @PostMapping("/crc_geopoint/list")
    ResponseDTO list(@RequestBody Crc_geopointPageInfo crc_geopointPageInfo);

    /**
    * 查看地图范围坐标
    */
    @GetMapping("/crc_geopoint/view")
    ResponseDTO view(@RequestParam("id") String id);

    /**
    * 删除地图范围坐标
    */
    @PostMapping("/crc_geopoint/delete")
    ResponseDTO delete(@RequestParam("id") String id);

    ///**
    // * 查看地图范围坐标 复合主键使用
    // */
    //@PostMapping("/crc_geopoint/viewByPK")
    //ResponseDTO viewByPK(@RequestBody Crc_geopoint.Crc_geopointPK pk);

    /**
     * 修改或保存地图范围坐标
     */
    @PostMapping("/crc_geopoint/save")
    ResponseDTO save(@RequestBody Crc_geopoint  crc_geopoint);

    ///**
    // * 删除地图范围坐标 复合主键使用
    // */
    //@PostMapping("/crc_geopoint/deleteByPK")
    //ResponseDTO deleteByPK(@RequestBody Crc_geopoint.Crc_geopointPK pk);
    
    /**
     * 批量删除地图范围坐标
     */
    @PostMapping("/crc_geopoint/batchDel")
    ResponseDTO batchDel(@RequestParam("ids") String ids);
    
     /**
     * 导出excel
     */
    @PostMapping("/crc_geopoint/output")
    void output(HttpServletResponse response, @RequestBody Crc_geopointPageInfo crc_geopointPageInfo);
        
     /**
     * 导出excel模板
     */
    @PostMapping("/crc_geopoint/exportExcelTemplate")
    void exportExcelTemplate(HttpServletResponse response);
    
     /**
     *	导入excel
     */
    @PostMapping("/crc_geopoint/importExcel")
    ResponseDTO importExcel(@RequestBody MultipartFile file) throws IOException ;


    /**
     * 判断地图描述是否已存在
     */
    @GetMapping("/crc_geopoint/existsGeopointName")
    ResponseDTO<Boolean> existsGeopointName(@RequestParam("name") String name);


    /**
     * 初始化对应的二级节点
     */
    @PostMapping("/crc_geopoint/initGeopointSecond")
    ResponseDTO initGeopointSecond() throws IOException ;


    /**
     * 查询全部的初始化坐标数据并以树节点形式返回
     */
    @GetMapping("/crc_geopoint/findDefaultTreeGeopoint")
    ResponseDTO findDefaultTreeGeopoint();


    /**
     * 获取绑定坐标的树结构数据
     */
    @GetMapping("/crc_geopoint/getQueryTree")
    ResponseDTO getQueryTree();

}
